In computer vision there are many applications where it is advantageous to process an image in the gradient domain and then reconstruct the gradient field. For example, to remove shadows from an input image, you can differentiate, set the shadow edge gradients to zero and then reintegrate to get an output image without shadows. Similarly, the gradient field is manipulated in lightness calculation and high dynamic range imaging to respectively remove slowly varying illuminant gradients and to compress the image dynamic range.
Typically, these applications follow a three-step work flow. First, a gradient field is calculated from an input image, second, the gradients are manipulated (to impose a desirable property) and then, third, a new image is found by reconstructing the gradient field. For example in lightness computation, shadow removal, and intrinsic image calculation, gradients are respectively set to zero or infilled where small, shadow and non-material edges are identified [3, 9, 13]. In shape from shading and photometric stereo the gradient field (surface orientation) at each point is found and then the shape (height map) results from reconstructing the gradient field [15, 25]. Other applications where Poisson equations appear include image compositing, noise removal and image fusion and enhancement [18, 17, 19].
However, the reconstruction step in existing techniques often introduces artefacts—commonly, smoothed and smeared edges—to the recovered image. This is a result of the inherent ill-posedness of reintegrating a non-integrable field. Artefacts can be diminished, though not removed, by more complex reintegration techniques.
In the data-fusion field, there exists a well-known problem that concerns reintegration. Here a multichannel image possibly comprises information from colour, infrared and other modalities and it is desirable to make a scalar image which captures all the useful contrast information available. Socolinsky and Wolff present an elegant and well-founded algorithm to solve this problem in U.S. Pat. No. 6,539,126. Their method works in three steps: (1) they calculate the Di Zenzo structure tensor for the multichannel image; (2) find the best gradient vector to approximate the tensor; and, (3) reintegrate this gradient field to return a grey-scale image that captures the contrast of the multichannel original. Unfortunately, because the gradient field is usually nonintegrable the method can return poor results (in particular, edge artefacts and smearing).
In the gradient domain data fusion work of Socolinsky and Wolff [22], a single gradient vector is calculated for each pixel (from the multichannel structure tensor) and this is reintegrated to give a greyscale scalar image that captures the contrast of the multichannel original. However, the gradient field is generally non-integrable and when the field is solved using a naive Poisson solver or, even, more recent robust techniques, serious image artefacts remain (often characterised as smearing of edges or bending in flat image regions).